package com.bkfm.framework.sys.api.store;

import java.util.List;
import java.util.Map;

import org.yak.core.store.IBaseStore;

import com.bkfm.framework.core.entity.BkfmTableMetaData;
import com.bkfm.framework.sys.entity.BkfmMenu;
import com.bkfm.framework.sys.entity.BkfmMenuBtnPermis;
import com.bkfm.framework.sys.entity.BkfmModelBtnPermis;
import com.bkfm.framework.sys.entity.BkfmUsers;

public interface IBkfmMenuStore extends IBaseStore<BkfmMenu>{
	
	/**
	 * 查询用户对应菜单
	 * @param param
	 * @return
	 * @throws Exception
	 */
	public List<BkfmMenu> selectUserBkfmMenuList(BkfmUsers param)throws Exception;
	
	/**
	 * 查询所有菜单
	 * @return
	 * @throws Exception
	 */
	public List<BkfmMenu> selectBkfmMenuList()throws Exception;
	
	/**
	 * 查询用户桌面快捷菜单
	 * @param bkfmUser
	 * @return
	 * @throws Exception
	 */
	public List<BkfmMenu> selectUserDesktopMenuList(BkfmUsers bkfmUser)throws Exception;
	
	/**
	 * 查询系统固定按钮
	 * @return
	 * @throws Exception
	 */
	public List<BkfmMenuBtnPermis> selectSysBtn()throws Exception;
	
	/**
	 * 查询系统菜单页面自定义按钮
	 * @return
	 * @throws Exception
	 */
	public List<BkfmMenuBtnPermis> selectUserMenuBtn()throws Exception;
	
	/**
	 * 查询用户所属菜单页面的功能按钮
	 * @param bkfmUser
	 * @return
	 * @throws Exception
	 */
	public List<BkfmMenuBtnPermis> selectUserMenuBtnPermis(BkfmUsers bkfmUser)throws Exception;
	
	/**
	 * 查询所有业务模型
	 * @return
	 * @throws Exception
	 */
	public List<BkfmModelBtnPermis> selectUserModelBtnPermis(BkfmUsers bkfmUser)throws Exception;
	
	
}
